
 #include "Listagenerica.hpp"
 
 // En la implementacion debemos detallar el tipo de dato,
 // especificando todo el tema de plantilla, o sea que en lugar
 // de poner Lista:: delante de cada funcion debemos poner TODO
 // el churro siguiente
 // template <class GENERICO> Lista<GENERICO>::nombreFuncion
 
  // Constructor
 template <class GENERICO> Lista<GENERICO>::Lista()
 {
      ladealado = 0;
 }
  
 // Constructor
 template <class GENERICO>  Lista<GENERICO>::Lista(GENERICO elemento) 
 {
      ladealado = 0;
      dato = elemento;
 }
 
  // Constructor copia
 template <class GENERICO> Lista<GENERICO>::Lista(Lista  const & original) 
 {
      ladealado = new Lista;
      ladealado = original.ladealao;
      dato = original.dato;
 }
 
  // Destructor
 template <class GENERICO> Lista<GENERICO>::~Lista() 
 {
 }
 
 // agregar elemento: AL LORO con donde se pone el retonno
 template <class GENERICO> void  Lista<GENERICO>::agregar(Lista *nodo)
 {
    nodo->ladealado = this;
    ladealado = 0; 
 }
 
 // se mueve hasta el siguiente dato
 template <class GENERICO> Lista<GENERICO>*  Lista<GENERICO>::siguiente() 
 {
       return ladealado;
 }
 
 //Lista template <class GENERICO> Lista<GENERICO>::siguiente();
 // comprueba si existe un elemento
 template <class GENERICO> bool  Lista<GENERICO>::existe(GENERICO dato)
 {
      return false;
 }
